﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using DevComponents.DotNetBar;

namespace Quan_Ly_Dai_Ly
{
    public partial class TiepNhanDaiLy : Office2007Form
    {
        public TiepNhanDaiLy()
        {
            InitializeComponent();
        }

        private void TiepNhanDaiLy_Activated(object sender, EventArgs e)
        {
            DataTable dt_Loai = new DataTable();
            DataTable dt_Quan = new DataTable();
            SqlDataAdapter da_Loai;
            SqlDataAdapter da_Quan;
            try
            {
                MainForm.Connect.Open();
                da_Loai = new SqlDataAdapter("select * from LOAIDAILY order by CAST(TenLoaiDaiLy as nvarchar(200)) asc", MainForm.Connect);
                da_Loai.Fill(dt_Loai);
                cb_Loai.DataSource = dt_Loai;
                cb_Loai.DisplayMember = "TenLoaiDaiLy";
                cb_Loai.ValueMember = "MaLoaiDaiLy";
                da_Quan = new SqlDataAdapter("select * from QUAN order by CAST(TenQuan as nvarchar(200)) asc", MainForm.Connect);
                da_Quan.Fill(dt_Quan);
                MainForm.Connect.Close();
                cb_Quan.DataSource = dt_Quan;
                cb_Quan.DisplayMember = "TenQuan";
                cb_Quan.ValueMember = "MaQuan";
                tb_SoDL.DataBindings.Clear();
                tb_SoDL.DataBindings.Add("Text", dt_Quan, "SoDLToiDa");
                d_NgayTN.Value = DateTime.Now;
            }
            catch (SqlException sqlEx)
            {
                MainForm.Connect.Close();
                MessageBoxEx.Show("Lỗi kết nối cơ sở dữ liệu!\n" + sqlEx.Message, "Thông Báo");
            }
        }

        private void bt_DongY_Click(object sender, EventArgs e)
        {
            DateTime t = DateTime.ParseExact(d_NgayTN.Text, "dd/MM/yyyy", null);
            int result = MainForm.ExecProcedure("sp_ThemDaiLy", 
                                new string[]{"@TenDaiLy", "@MaLoaiDaiLy", "@MaQuan", "@DienThoai", "@DiaChi", "@Email", "@NgayTiepNhan"},
                                new object[] { tb_Ten.Text, cb_Loai.SelectedValue, cb_Quan.SelectedValue, tb_SoDT.Text, tb_DiaChi.Text, tb_Email.Text, t});
            if (result == 1)
                MessageBoxEx.Show("Tiếp nhận đại lý không thành công.\nĐại lý này đã có trong cơ sở dữ liệu.", "Thông Báo");
            else
                if (result == 2)
                    MessageBoxEx.Show("Tiếp nhận đại lý không thành công.\nSố đại lý trong quận này vượt quá số đại lý tối đa của quận.", "Thông Báo");
                else
                    if (result == 3)
                        MessageBoxEx.Show("Tiếp nhận đại lý không thành công.\nĐịa chỉ email sai định dạng.", "Thông Báo");
                    else
                        if (result == 0)
                        {
                            MessageBoxEx.Show("Tiếp nhận đại lý thành công.", "Thông Báo");
                            tb_Ten.ResetText();
                            tb_SoDT.ResetText();
                            tb_DiaChi.ResetText();
                            tb_Email.ResetText();
                            d_NgayTN.Value = DateTime.Now;
                        }
        }

        private void buttonX1_Click(object sender, EventArgs e)
        {
            Form f = new ThemLoaiDaiLy();
            f.MdiParent = this.MdiParent;
            f.Show();
        }

        private void buttonX2_Click(object sender, EventArgs e)
        {
            Form f = new ThemQuan();
            f.MdiParent = this.MdiParent;
            f.Show();
        }

        private void tb_Ten_TextChanged(object sender, EventArgs e)
        {
            if (tb_Ten.Text.Length > 0 && cb_Loai.Text.Length > 0 && cb_Quan.Text.Length > 0 && tb_DiaChi.Text.Length > 0)
                bt_DongY.Enabled = true;
            else
                bt_DongY.Enabled = false;
        }

        private void cb_Loai_TextChanged(object sender, EventArgs e)
        {
            if (tb_Ten.Text.Length > 0 && cb_Loai.Text.Length > 0 && cb_Quan.Text.Length > 0 && tb_DiaChi.Text.Length > 0)
                bt_DongY.Enabled = true;
            else
                bt_DongY.Enabled = false;
        }

        private void cb_Quan_TextChanged(object sender, EventArgs e)
        {
            if (tb_Ten.Text.Length > 0 && cb_Loai.Text.Length > 0 && cb_Quan.Text.Length > 0 && tb_DiaChi.Text.Length > 0)
                bt_DongY.Enabled = true;
            else
                bt_DongY.Enabled = false;
        }

        private void tb_DiaChi_TextChanged(object sender, EventArgs e)
        {
            if (tb_Ten.Text.Length > 0 && cb_Loai.Text.Length > 0 && cb_Quan.Text.Length > 0 && tb_DiaChi.Text.Length > 0)
                bt_DongY.Enabled = true;
            else
                bt_DongY.Enabled = false;
        }

        private void tb_NgayTN_TextChanged(object sender, EventArgs e)
        {
            if (tb_Ten.Text.Length > 0 && cb_Loai.Text.Length > 0 && cb_Quan.Text.Length > 0 && tb_DiaChi.Text.Length > 0)
                bt_DongY.Enabled = true;
            else
                bt_DongY.Enabled = false;
        }

        private void buttonX3_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void tb_SoDT_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
                e.Handled = true;
        }

        private void TiepNhanDaiLy_Load(object sender, EventArgs e)
        {
            bt_DongY.Enabled = false;
        }

    }
}
